#########################################################################################
# 作者：hehung
# 联系：1398660197@qq.com
# 微信：hehung95
# 描述：串口输出，用于输出PWM控制值，如果有不同的驱动方式，可以将这个文件进行替换
#########################################################################################

import serial

class class_uart:
    def __init__(self):
        # 打开串口
        self.serial = serial.Serial('/dev/serial0', 115200)

    # 串口发送数据
    def send(self, str):
        self.serial.write(str.encode())

    # 串口接收数据
    def recv(self):
        # 读取接收到的数据
        return self.serial.readline()
    
    # 获取串口
    def get_uart(self):
        return self.serial
    
    # 获取窗口打开状态
    def get_uart_status(self):
        if self.serial.isOpen():                       
            return True
        else:
            return False
    
    # 控制舵机
    def servo_ctrl(self, commands):
        data_str = 'START::0-%.2f:1-%.2f:2-%.2f:3-%.2f:4-%.2f:5-%.2f::END\r\n' % (commands[0], commands[1], commands[2], commands[3], commands[4], commands[5])
        print ('Send Data: %s' % data_str.encode())
        self.send(data_str)

if __name__ == '__main__':
    pass

